package cn.com.blueInfo.HaiYuan.business.payment.mapper;

import cn.com.blueInfo.HaiYuan.business.payment.entity.PaymentInvoice;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 付款单与发票对应关系
 * @ClassName: PaymentInvoiceMapper
 * @tableName: tj_hai_payment_between
 * @author suxch
 * @date 2019年7月25日  上午8:53:35
 */
@Mapper
public interface PaymentInvoiceMapper extends BaseMapper<PaymentInvoice> {

    /**
     * 批量新增付款单对应信息
     * @Title: batchAddPaymentInvoiceInfo
     * @param paymentInvoiceList
     * @return int
     * @throws
     */
    int batchAddPaymentInvoiceInfo(List<PaymentInvoice> paymentInvoiceList);

    /**
     * 新增付款单对应信息
     * @Title: addPaymentInvoiceInfo
     * @param paymentInvoice
     * @return int
     * @throws
     */
    int addPaymentInvoiceInfo(PaymentInvoice paymentInvoice);

    /**
     * 批量删除付款单对应信息
     * @Title: batchDelPaymentInvoiceInfoByUnids
     * @param paymentInvoiceUnids
     * @return int
     * @throws
     */
    int batchDelPaymentInvoiceInfoByUnids(ArrayList<String> paymentInvoiceUnids);

    /**
     * 删除付款单对应信息
     * @Title: delPaymentInvoiceInfoByUnid
     * @param unid
     * @return int
     * @throws
     */
    int delPaymentInvoiceInfoByUnid(String unid);

    /**
     * 批量更新付款单对应信息
     * @Title: batchUpdatePaymentInvoiceInfoByUnid
     * @param paymentInvoiceList
     * @return int
     * @throws
     */
    int batchUpdatePaymentInvoiceInfoByUnid(List<PaymentInvoice> paymentInvoiceList);

    /**
     * 更新付款单对应信息
     * @Title: updatePaymentInvoiceInfoByUnid
     * @param paymentInvoice
     * @return int
     * @throws
     */
    int updatePaymentInvoiceInfoByUnid(PaymentInvoice paymentInvoice);

    /**
     * 分页查询付款单对应信息
     * @Title: queryPaymentInvoiceInfo
     * @param paramMap
     * @return List<PaymentInvoice>
     * @throws
     */
    List<PaymentInvoice> queryPaymentInvoiceInfo(Map<String, Object> paramMap);

    /**
     * 查询付款单对应信息
     * @Title: queryPaymentInvoiceInfo
     * @return List<PaymentInvoice>
     * @throws
     */
    List<PaymentInvoice> queryPaymentInvoiceInfo();

    /**
     * 条件查询付款单对应数量
     * @Title: queryPaymentInvoiceInfoCount
     * @param paramMap
     * @return Integer
     * @throws
     */
    Integer queryPaymentInvoiceInfoCount(Map<String, Object> paramMap);

    /**
     * 查询付款单对应数量
     * @Title: queryPaymentInvoiceInfoCount
     * @return Integer
     * @throws
     */
    Integer queryPaymentInvoiceInfoCount();
}
